package com.google.sydym6.logic.managers;

import java.io.IOException;
import java.net.MalformedURLException;

import org.json.JSONException;

import com.google.sydym6.logic.database.data.ISongData;
import com.google.sydym6.logic.managers.recognizing.IScrobbler;
import com.perm.kate.api.Api;
import com.perm.kate.api.KException;

import android.graphics.drawable.Drawable;

/**
 * Define interface to work with song
 * @author Mikl
 *
 */
public interface ISongManager {

	void setSong(ISongData songData);
	void prepareSong() throws MalformedURLException, IOException, JSONException, KException;
	void playSong();
	void pauseSong();
	void stopSong();
	void setPosition(int position);
	int getPosition();
	boolean isPlaying();
	
	boolean isLove();
	void setLove(boolean love);
	
	boolean isVkAdded();
	void addToVk();
	
//TODO void share();
	void download();
	
	String getArtist();
	String getTrack();
	int getDuration();
	Drawable getSongLogo();
	ISongData getSongData();
	
	void setVkApi(Api vkApi);
	Api getVkApi();
	void setScrobbler(IScrobbler scrobbler);
}
